package main

import (
	"net/http"
	"encoding/xml"
	"fmt"
)


/*
<xml>
	<ToUserName><![CDATA[toUser]]></ToUserName>
	<FromUserName><![CDATA[fromUser]]></FromUserName>
	<CreateTime>1348831860</CreateTime>
	<MsgType><![CDATA[text]]></MsgType>
	<Content><![CDATA[this is a test]]></Content>
	<MsgId>1234567890123456</MsgId>
</xml>
*/

type TextRequestMessage struct {
	ToUserName   string //开发者微信号
	FromUserName string //发送方帐号（一个OpenID）
	CreateTime   int32  //消息创建时间 （整型）
	MsgType      string //text
	Content      string //文本消息内容
	MsgId        int64  //消息id，64位整型
}

func Message(r *http.Request) TextRequestMessage {
	decoder := xml.NewDecoder(r.Body)
	textMessage := new(TextRequestMessage)
	decoder.Decode(textMessage)

	//fmt.Println(textMessage.Content)
	fmt.Printf("%+v", textMessage)

	return textMessage
}

/*
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>2</ArticleCount>
<Articles>
	<item>
		<Title><![CDATA[title1]]></Title>
		<Description><![CDATA[description1]]></Description>
		<PicUrl><![CDATA[picurl]]></PicUrl>
		<Url><![CDATA[url]]></Url>
	</item>
	<item>
		<Title><![CDATA[title]]></Title>
		<Description><![CDATA[description]]></Description>
		<PicUrl><![CDATA[picurl]]></PicUrl>
		<Url><![CDATA[url]]></Url>
	</item>
</Articles>
</xml>
*/

type NewsRequestMessage struct {
	ToUserName   string //是	接收方帐号（收到的OpenID）
	FromUserName string //是	开发者微信号
	CreateTime   string //是	消息创建时间 （整型）
	MsgType      string //是	news
	ArticleCount string //是	图文消息个数，限制为10条以内
	Articles     string //是	多条图文消息信息，默认第一个item为大图,注意，如果图文数超过10，则将会无响应
	Title        string //否	图文消息标题
	Description  string //否	图文消息描述
	PicUrl       string //否	图片链接，支持JPG、PNG格式，较好的效果为大图360*200，小图200*200
	Url          string //否	点击图文消息跳转链接
}